
package com.zcsy.manage.service.base;

import java.util.List;

import com.zcsy.manage.model.base.CellHouse;
import com.zcsy.manage.model.base.CellInfo;
import com.zcsy.manage.model.base.OwnerHouse;

/**
 * @Title: IOwnerHouseService.java
 * @Package： com.zcsy.manage.service.base 
 * @Description: 业主房屋service
 * @author huangls 1449700087@qq.com
 * @date 2016年7月29日
 * @version 1.0
 * @see JDK1.7.0_75
 * @Copyright: 2016 武汉恒数利通技术有限公司 All rights reserved.
 */
public interface IOwnerHouseService {
	
	/**
	 * @Description:添加业主房屋信息
	 * @param ownerHouse 业主房屋实体
	 * @return 添加结果
	 * @author huangls 1449700087@qq.com
	 * @date 2016年7月29日
	 */
	int insert(OwnerHouse ownerHouse);
	
	/**
	 * @Description:注销房屋
	 * @param id 主键id
	 * @return 注销结果
	 * @author huangls 1449700087@qq.com
	 * @date 2016年7月29日
	 */
	int deleteHouuseByHouseId(String houseId);
	
	/**
	 * @Description:更新业主房屋信息
	 * @author huangls 1449700087@qq.com
	 * @date 2016年7月29日
	 */
	int updateOwnerHouse(OwnerHouse record);
	
	/**
	 * @Description:根据主键获取业主房屋信息
	 * @param id 主键
	 * @author huangls 1449700087@qq.com
	 * @date 2016年7月29日
	 */
	OwnerHouse selectByPrimaryKey(String id);
	
	/**
	 * @Description:根据区域id获取区域下的所有小区
	 * @param areaId 区域id
	 * @author huangls 1449700087@qq.com
	 * @date 2016年7月29日
	 */
	List<CellInfo> getCellInfoListByAreaId(Integer areaId);
	
	/**
	 * @Description:根据业主id获取业主所在的所有小区
	 * @param ownerId 业主id
	 * @author huangls 1449700087@qq.com
	 * @date 2016年7月29日
	 */
	List<CellInfo> getCellInfoListByOwnerId(String ownerId);
	
	/**
	 * @Description:根据业主id获取业主的所有房屋
	 * @param ownerId 业主id
	 * @author huangls 1449700087@qq.com
	 * @date 2016年7月29日
	 */
	List<CellHouse> getCellHouseListByOwnerId(String ownerId);
	
	/**
	 * @Description:获取当前小区的所有房屋
	 * @param ownerId 业主id
	 * @param cellId 当前小区id
	 * @author huangls 1449700087@qq.com
	 * @date 2016年8月17日
	 */
	List<CellHouse> getCurrentCellHouse(String ownerId, String cellId);

	/**
     * @Description:获取当前小区的所有用户的帐号
     * @param cellId 小区id
     * @author yangfan  373188993@qq.com
     * @date 2016年8月22日
     */
    List<String> getUserAccountByCellId(String cellId);
    
    OwnerHouse selectByKeyword(String cellId,String houseId,String ownerId);

	/**
	 * @Description 根据多个房屋id查询业主房屋关联信息数量
	 * @param houseIDs 多个房屋id
	 * @return 业主房屋关联信息条数
	 * @author liuying 1075817474@qq.com
	 * @date 2016年9月13日
	 * @see 
	 */
	Integer selectByHouseIds(String[] houseIDs);
	
	/**
	 * 根据房屋id和业主id获取新申请和正常状态的房屋信息
	 * @Method: getOwnerHouserByHouseAndOwner
	 * @author hubing
	 * @date 2016年9月18日
	 */
	List<OwnerHouse> getOwnerHouserByHouseAndOwner(String houserId, String ownerId);
}
